from django.shortcuts import render

from apps.contents.models import GoodsChannel,ContentCategory
# Create your views here.
from django.views import View
from apps.contents.utils import get_categories


class IndexView(View):
    ''' 首页广告 '''
    def get(self,request):
        # 查询商品分类
        categories = get_categories()


        # 查询首页广告: 查询每一种广告对应的所有内容,广告必须是未下线的广告
        #准备首页广告数据大字典
        contents = {}
        # 查询所有的广告类别
        content_categories = ContentCategory.objects.all()
        for content_cat in content_categories:
            # 这么补充图片的地址，性能极差（不用）
            # 我们选择的是：什么时候要渲染图片就什么时候拼接那个图片的下载地址
            # for content in content_cat.content_set.filter(status=True).order_by('sequence'):
            #     content.image = 'http://192.168.103.221:8888/' + content.image

            contents[content_cat.key] = content_cat.content_set.filter(status=True).order_by("sequence") # 一方模型对象．多方模型类名小写_set/ relate_name

        # 查询首页广告

        # 构造上下文
        context = {
            "categories":categories,
            "contents":contents,
        }

        return render(request,"index.html",context)